import { getList } from '@/api/componentList';
export default {
	namespaced: true,
	state: {
		businessList: [], // 业务组件
		customList: [], // 自定义组件
		baseList: [] // 基础组件
	},
	mutations: {
		getBaseList(state, data) {
			state.baseList = data;
		},
		getCustomList(state, data) {
			state.customList = data;
		},
		getBusinessList(state, data) {
			state.businessList = data;
		}
	},
	actions: {
		GetBaseListSync({ commit }, payload) {
			return new Promise((resolve, reject) => {
				getList({
					componentType: payload,
					current: 1,
					size: 200
				})
					.then(res => {
						let data = res.data.data.records;
						data.forEach(d => {
							d.label = d.name;
							d.option = JSON.parse(d.componentJson || '{}');
						});

						// let result = [
						// 	{
						// 		icon: 'icon-bar',
						// 		label: '图表',
						// 		classify: 'CHART',
						// 		children: []
						// 	},
						// 	{
						// 		icon: 'icon-text',
						// 		label: '表单',
						// 		classify: 'FORM',
						// 		children: []
						// 	},
						// 	{
						// 		icon: 'icon-img',
						// 		label: '媒体',
						// 		classify: 'MEDIA',
						// 		children: []
						// 	},
						// 	{
						// 		icon: 'icon-flop',
						// 		label: '指标',
						// 		classify: 'TARGET',
						// 		children: []
						// 	},
						// 	{
						// 		icon: 'icon-table',
						// 		label: '表格',
						// 		classify: 'TABLE',
						// 		children: []
						// 	},
						// 	{
						// 		icon: 'icon-datav',
						// 		label: '其它',
						// 		classify: 'OTHER',
						// 		children: []
						// 	}
						// ];
						switch (payload) {
							case 'BASE':
								commit('getBaseList', data);
								resolve(data);
								break;
							case 'CUSTOMIZED':
								commit('getCustomList', data);
								resolve(data);
								break;
							case 'BUSINESS':
								commit('getBusinessList', data);
								resolve(data);
								break;
							default:
								break;
						}
					})
					.catch(error => {
						reject(error);
					});
			});
		}
	}
};
